Systems for enterprise software distribution are known in the art. For example, it is known to prepackage suites of software for distribution over an existing enterprise network, such as a local area network, a wide area network, or a combination of such networks. The prepackaged software is then installed on one or more preselected workstations, such as by using a point-to-point message protocol, a broadcast protocol, or a publish and subscribe message protocol.
Many problems have been encountered with such software distribution schemes. One problem is that enterprise network resources are unable to support the distribution of software in a timely manner using point-to-point message protocols for very large networks, such as those with over 1000 nodes. In such networks, even a five minute distribution time per node will require almost one week of time to complete software distribution for the enterprise. As a result, such systems must have multiple distribution points, which must each be configured and coordinated.
Broadcast of software packages to multiple endpoints can alleviate network bandwidth and resource requirements, but because of the differences between workstation hardware, software, physical location, user needs, and other configuration variables, such broadcast distribution typically requires operator support and configuration at each workstation.
Publish and subscribe messaging can be used to improve the ability to control software distribution to endpoints based on their location and function, but such publish and subscribe messaging requires that all the endpoints subscribe to a single channel, which results in some endpoints receiving messages that are not needed, and which also unnecessarily increases the number of messages that have to be handled by the enterprise network. Further, the publish/subscribe model and the centralized software distribution model have two opposing requirements. In the publish/subscribe model, the publisher does not care who the subscriber is. It is the subscriber's responsibility to subscribe to the “channel of interest”. In the centralized mode, the publisher of the software decides who should subscribe to the software distribution.